package innova.negocio;

import innova.dao.CobranzaDAO;
import innova.modelo.CentroFormacion;
import innova.modelo.Cobranza;
import innova.modelo.CriterioCobranza;

import java.sql.Date;
import java.util.Collection;

public class GestionCobranza {

	private CobranzaDAO dao = new CobranzaDAO();
	
	public Collection<Cobranza> buscarPorFechaPago(Date fechaPago)
			throws Exception {
		return dao.buscarPorFechaPago(fechaPago);
	}

	public Cobranza insertar(int idCobranza,
			float montoTotal,
			Date fechaEmision,
			Date fechaPago,
			CentroFormacion centroFormacion,
			CriterioCobranza criterioCobranza)
					throws Exception {
		Cobranza vo = new Cobranza();
		vo.setIdCobranza(idCobranza);
		vo.setMontoTotal(montoTotal);
		vo.setFechaEmision(fechaEmision);
		vo.setFechaPago(fechaPago);
		vo.setCentroFormacion(centroFormacion);
		vo.setCriterioCobranza(criterioCobranza);

		return dao.insertar(vo);
	}

	public Cobranza obtener(int idCobranza) throws Exception {
		return dao.obtener(idCobranza);
	}

	public void eliminar(int idCobranza) throws Exception {
		dao.eliminar(idCobranza);
	}

	public Cobranza actualizar(int idCobranza,
			float montoTotal,
			Date fechaEmision,
			Date fechaPago,
			CentroFormacion centroFormacion,
			CriterioCobranza criterioCobranza)
					throws Exception {
		Cobranza vo = new Cobranza();
		vo.setIdCobranza(idCobranza);
		vo.setMontoTotal(montoTotal);
		vo.setFechaEmision(fechaEmision);
		vo.setFechaPago(fechaPago);
		vo.setCentroFormacion(centroFormacion);
		vo.setCriterioCobranza(criterioCobranza);

		return dao.actualizar(vo);
	}

	public Collection<Cobranza> listar() throws Exception {
		return dao.listar();
	}
	
}
